package domain;

//import java.util.ArrayList;

/**
 * Trieda predstavujuca zaznam v tabulke KLIENT. 
 * @author PeterCagan
 */
public class KLIENT {

	private IntegerAtribut ID_Klienta = null;
	private IntegerAtribut ID_Pobocky = null;
	private Atribut Meno = null;
	private Atribut Priezvisko = null;
	private Atribut RodCislo = null;
	private Atribut Adresa = null;
	private Atribut TelCislo = null;
	private Atribut Email = null;
	private Atribut DatZac = null;
	private Atribut DatKon = null;
	
	/** 
	 * Konstruktor pre vytvorenie instancie triedy KLIENT. 
	 */
	public KLIENT(Integer IDkl,Integer IDpob, String meno, String priezv, String rodc, String adresa, String email, String telc, String datz, String datk){
		ID_Klienta = new IntegerAtribut(IDkl);
		ID_Pobocky = new IntegerAtribut(IDpob);
		Meno = new Atribut(meno);
		Priezvisko = new Atribut(priezv);
		RodCislo = new Atribut(rodc);
		Adresa = new Atribut(adresa);
		TelCislo = new Atribut(telc);
		Email = new Atribut(email);
		DatZac = new Atribut(datz);
		DatKon = new Atribut(datk);
	}
	
	/*public KLIENT(String meno2, String priezvisko2, String rodc){
		this.Meno = new Atribut(meno2);
		this.Priezvisko = new Atribut(priezvisko2);
		this.RodCislo = new Atribut(rodc);
	}*/
	
	
	/**
	 * Vrati atribut ID_Klienta. 
	 * @return Hodnota typu IntegerAtribut.
	 */
	public IntegerAtribut getIDklienta(){return ID_Klienta;}
	
	/**
	 * Vrati atribut ID_Pobocky. 
	 * @return Hodnota typu IntegerAtribut.
	 */
	public IntegerAtribut getIDpob(){return ID_Pobocky;}
	
	/**
	 * Vrati atribut Meno.
	 * @return Hodnota typu Atribut.
	 */
	public Atribut getMeno(){return Meno;}
	
	
	/**
	 * Vrati atribut Priezvisko.
	 * @return Hodnota typu Atribut.
	 */
	public Atribut getPriezv(){return Priezvisko;}
	
	/**
	 * Vrati atribut RodCislo.
	 * @return Hodnota typu Atribut.
	 */
	public Atribut getRodC(){return RodCislo;}
	
	/**
	 * Vrati atribut Adresa.
	 * @return Hodnota typu Atribut.
	 */
	public Atribut getAdresa(){return Adresa;}
	
	/**
	 * Vrati atribut TelCislo.
	 * @return Hodnota typu Atribut.
	 */
	public Atribut getTelC(){return TelCislo;}
	
	/**
	 * Vrati atribut Email.
	 * @return Hodnota typu Atribut.
	 */
	public Atribut getEmail(){return Email;}
	
	/**
	 * Vrati atribut DatZac.
	 * @return Hodnota typu Atribut.
	 */
	public Atribut getDatZac(){return DatZac;}
	
	/**
	 * Vrati atribut DatKon.
	 * @return Hodnota typu Atribut.
	 */
	public Atribut getDatKon(){return DatKon;}
	
	/**
	 * Vrati String, ktory predstavuje tabulku, atributy a hodnoty atributov pri inserte do tabulky KLIENT. Format: ".TABLE(atribut,atribut,...) VALUE(hodnota,hodnota,...)"
	 * @return Hodnota typu String.
	 */
	public String getInsTabVal(){
		String tabval = ".KLIENT(ID_KLIENT,ID_POBOCKA,MENO,PRIEZVISKO,RODNE_CISLO,ADRESA,EMAIL,TEL_CISLO) VALUES(" + getIDklienta().getIA() + "," + getIDpob().getIA()
				 + ",'" + getMeno().getA() + "','" + getPriezv().getA()+ "'," + getRodC().getA() + ",'" + getAdresa().AtribNull()
				 + "','" +  getEmail().getA() + "','" + getTelC().getA() + "')";
		return tabval;
	}
	
	/**
	 * Vrati String, ktory predstavuje tabulku, atributy a hodnoty atributov pri inserte do tabulky KLIENT na uzloch. Format: ".TABLE(atribut,atribut,...) VALUE(hodnota,hodnota,...)"
	 * @return Hodnota typu String.
	 */
	public String getInsTabValN(){
		String tabval = ".KLIENT(ID_KLIENT,ID_POBOCKA,MENO,PRIEZVISKO,RODNE_CISLO,ADRESA,EMAIL,TEL_CISLO, DAT_ZAC) VALUES(" + getIDklienta().getIA() + "," + getIDpob().getIA() + ",'"
				  + getMeno().getA() + "','" + getPriezv().getA()+ "'," + getRodC().getA() + ",'" + getAdresa().AtribNull()
				 + "','" +  getEmail().getA() + "','" + getTelC().getA() + "','" + getDatZac().getA() + "')";
		return tabval;
	}
	
}
